Dev_Tasks
Level 1 and 2 Logicmaster passwords, which prevent write access, cannot be used in applications that include COMMREQs. COMMREQs require write access to return their completion status.
#END#

Wait_Flag	
This flag determines whether PLC will wait until the device serial ports receive the intended data before continuing. The request can either send a message and wait for a reply, or send a message and continue without waiting for a reply. If the Command Block specifies that the program will not wait for a reply, the Command Block contents are sent to the device and ladder program execution resumes immediately. This is referred to as NOWAIT mode. If the Command Block specifies that the program will wait for a reply, the Command Block contents are sent to the targeted device and the CPU waits for a reply for a maximum length of time specified in the Command Block. If the device does not respond in that time, ladder program execution resumes. This is referred to as WAIT mode.
#END#

Idle_Tmout
The idle timeout value is the maximum time the PLC waits for the device to acknowledge receipt of the request. For NOWAIT, this value is not used. (Any timeout value is ignored; it can be zero.) If WAIT is selected, this word specifies the idle timeout period, in 100-microsecond increments.
#END# 

Max_Comm_Tm	
This word contains the maximum amount of time the program should hold the window open when the device is busy. For NOWAIT, this value is not used. (Any timeout value is ignored; it can be zero.) If WAIT is selected, this word specifies the maximum time in 100 microsecond increments.
#END#

Pulse Test
The Pulse Test command causes the Bus Controller to send a normal-priority Pulse Test datagram. Pulse testing is used to verify the operation of outputs on discrete Genius I/O blocks. It checks whether the outputs will change state, and whether output circuits (wires, power sources, loads) will start or stop current flow. Any circuit faults generated by pulse tests are reported through the normal Report Fault message. Pulse testing is recommended for blocks that seldom change state. Pulse testing provides assurance that when needed, an output will operate correctly. Blocks that control outputs that change state frequently do not need to be pulse tested. Pulse testing does not provide enough energy to activate mechanical devices such as motor starters, relays, or solenoid valves, but may change the state of a very small load.
#END#

Read Configuration
The Read Configuration command is used to request configuration data from any block on the bus. It causes the Bus Controller to send a normal-priority Read Configuration datagram to the indicated block. After receiving the request, the block returns its configuration data to the Bus Controller in 16-byte increments. When the Bus Controller has received all the configuration data, it transfers the data to the memory location specified in the Command Block. Because configuration data consists of both bit-type and byte-type portions, it is best to place it in word memory, then move the bit-oriented data to bit memory (%M or %T is recommended).  Before a block can be sent this command, its Device Number (serial bus address) must be set up using the Logicmaster 90 configuration software. In addition, the block must have had its Device Number entered using a Hand-held Monitor.
#END#

Write Configuration
The Write Configuration command is used to send configuration data from the CPU to a block on the bus. (The Bus Controller cannot write configuration data to another bus interface module or to a Hand-held Monitor). A Write Configuration command to the Bus Controller itself would be rejected with status 128 (command not supported by target device). Before a block can be sent this command, its Device Number (serial bus address) must be set up using the Logicmaster 90 configuration software. In addition, the block must have had its Device Number entered using a Hand-held Monitor. The length of the data sent with this command must exactly match the length required by the device. If the lengths are not equal the Bus Controller returns a Syntax Error to the COMREQ status location.
#END#

Read Diagnostics
Read Diagnostics command is to request diagnostic information from a block or a bus interface module. Diagnostics can be requested from any block, even those configured not to issue Report Fault messages. The diagnostic data returned by a block will indicate faults that have occurred since power up or since the last Clear Faults datagram. Current diagnostic state can be found by issuing a Clear Faults command to the circuit(s) or channel(s) to clear the fault history, then issuing a Read Diagnostics command. This command causes the Bus Controller to send a Read Diagnostics datagram to the specified device. When the device receives this datagram, it returns a Read Diagnostics Reply datagram. I/O blocks return data in message segments of up to 16 bytes per bus scan. The content of the Read Diagnostics Reply message depends on the device being queried. The first word of the reply must contain the length of the data that follows. When all the data has been received, the Bus Controller transfers it to the CPU and sets the COMREQ status to 4 (Done).
#END#

Clear Circuit Fault
The Clear Circuit Faults command is used to clear any faults on a specified circuit of a Genius I/O block. The Clear Circuit Fault command causes the Bus Controller to issue a normal-priority Clear Circuit Fault datagram.
#END#

Clear All Circuit Faults
The Clear All Circuit Faults command is used to clear all faults on a Genius I/O block. It causes the Bus Controller to issue a normal-priority Clear All Circuit Faults datagram.
#END#

Assign Monitor
An Assigned Monitor is an additional bus interface module (usually in another CPU) that monitors Genius I/O devices on the bus. Remote I/O Scanners and I/O blocks broadcast their inputs to all devices on the bus. Therefore, any interface module on the bus will receive all inputs sent by the blocks. However, blocks direct fault reports and configuration change messages only to the bus interface module that sends them outputs. Blocks configured for CPU Redundancy will automatically transmit two copies of any fault report or configuration change message, directing them to Device Numbers 30 and 31. The Assign Monitor command can be used to have Genius I/O devices send extra fault report and configuration change messages to a monitoring bus interface module. Blocks would send two copies of each fault report or configuration message in a non-redundant system. Blocks in a redundant system would send three (two to the redundant bus interface modules, and the third to the Assigned Monitor). Multiple CPUs might be used to monitor different blocks on the same bus. However, only one device can be assigned to monitor any given block. When the Series 90-70 Bus Controller receives the Assign Monitor COMREQ command from the CPU, it issues a normal-priority Assign Monitor Datagram to one block or to all blocks on the bus. If sent to bus interface modules, it has no effect.
#END#

Enable Disable Outputs
This can be sent to GBC to disable sending O/Ps to any block. This overrides configuration parameter O/Ps enable/disable at start. For e.g., if O/P were initially disabled to all blocks during configuration, this could be used to enable O/Ps to specific devices/to all devices.
#END#

Global Data Enable Disable
Global Data Enable Disable COMMREQ command can be used after power up to disable or re-enable the sending of Global Data from the Bus Controller, or receiving it from one or more devices on the bus. If this COMREQ attempts to enable Global Data when it is already enabled, or to disable Global Data when it is already disabled, the Bus Controller ignores the request and returns status 4 (successful completion) to the Status Block.
In device number field 1, enter 0-31 to specify the bus interface module to/from, which Global Data is being enabled or disabled. This may be the Device Number of the Bus Controller itself, or of any other bus interface module on the bus. 2. To enable or disable the Bus Controller sending Global Data, enter the Bus Controllers Device Number.
To enable or disable the Bus Controller receiving Global Data from another bus interface module, enter the Device Number of that bus interface module. 3. To enable or disable the Bus Controller sending or receiving ANY Global Data, enter the number 255. If 255 is entered, the command will complete successfully if there are any controller devices on the bus.
#END#

Switch BSM
In a dual bus system, the Switch BSM command can be used to cause a Bus Switching Module to select a bus. This command causes the Bus Controller to issue a normal- priority Switch BSM datagram. The program must already know which bus is currently selected. The CPU may issue the Switch BSM command at intervals to ensure continued proper bus switching capability. If the command is successful, the CPU will report a Loss of Block diagnostic for the BSM Controller block and for any other block on the same bus stub. If the dual bus system includes a second Bus Controller controlling the other bus, that Bus Controller should report an Addition of Block diagnostic for each of those blocks. If the Hand-held Monitor currently forces the BSM position, the command will have no effect. A data error is returned to the status reference if the block does not control a BSM.
#END#

Read Device
Read device command is used to read up to 128 bytes of data from another CPU and place it in PLC CPU memory. This causes the Bus Controller to issue a normal-priority Read Device datagram. When the data is received, it will automatically be placed in the CPU memory location specified in the Command Block.
#END#

Write Device
Write Device datagrams can be used together with Global Data, or can replace Global Data. Consider using Write Device datagrams instead of Global Data if Global Data
takes up too much bus scan time for the application, data does not need to be sent every bus scan, or the CPU sweep time becomes too long for the application. If this datagram will be broadcast, and there is another Series 90-70 Bus Controller on the bus that should NOT receive it, send the datagram using COMREQ #14 instead.
#END#

Dequeue Datagram
The Bus Controller handles most incoming datagrams automatically, with no additional programming required. Under certain circumstances, however, the Dequeue Datagram command must be used to transfer incoming datagrams to the CPU. Program the Dequeue Datagram command for the following: 
1.Replies that are received after sending Reply-type datagrams with the Send Datagram command. (If Send Datagram with Reply is used instead, it automatically handles replies).
2. Unsolicited datagrams that are not recognized by the Bus Controller (Function Code not 20).
#END#

Send Datagram	
The Send Datagram command might be used to send:
1.Datagrams for which no COMREQ command number is defined, such as Begin Packet Sequence, End Packet Sequence, and Write Point.
2. Read Device and Write Device datagrams that are broadcast, but which another Series 90-70 Bus Controller should ignore.
3. Datagrams that must be guaranteed transmission during the next bus scan. This should be done with restraint, for the reasons explained on the following pages.
4. Datagrams, which do not cause another device to send, back a reply, such as Pulse Test, or Write Configuration.
Datagrams, which DO cause another device to send back a reply, such as Read Diagnostics or Read Configuration, are usually programmed using their assigned COMREQ numbers or the Request Datagram Reply command (COMREQ #15). However, if Send Datagram is used to send datagrams that cause replies, the Dequeue Datagram command must be used to transfer the replies back to the CPU.
#END#

Request Datagram Reply
The Request Datagram Reply command can be used to send any datagram that causes the target device to return a reply, such as: Read Configuration or Read Diagnostics. With this command, the Bus Controller automatically transfers replies to the CPU; no separate Dequeue Datagram command is needed to handle them. These datagrams are normally programmed using their assigned COMREQ command numbers. The primary reason for sending any of these datagrams using COMREQ #15 would be to assign it high priority, guaranteeing that it would be sent on the next bus scan. Before doing this, see COMREQ #14: Send Datagram for important information about datagram priority.
#END#

IO Faults Enable Disable
The Enable/Disable I/O Fault Categories command can be sent to the Bus Controller to disable or re-enable the reporting of all I/O faults, or Addition/Loss of Block faults. If all I/O faults are disabled, the Bus Controller will not forward to the CPU any fault reports it receives from devices on its bus. This includes all I/O faults, as well as Loss of Block and Addition of Block messages. It is also possible to disable only reports of Addition or Loss of Block conditions, while still forwarding other faults from the devices on the bus. This can be useful in a system where blocks are intentionally switched on and off the bus, or in other applications where these messages are not wanted. If the passing of some or all fault reports is disable, the corresponding point-specific fault contacts will operate. They are not affected by the use of this COMREQ. Some system -level and block-level fault contacts will be affected by the loss of the inhibited information.
#END#

Device_Number
Enter 0-31 for one block.
#END#

Enable_OR_Disable_Outputs	
Choose Enable/Disable
#END#

Enable_Disable_Global_Data
Choose Enable/Disable
#END#

Max_Data_Memory_Length_C
Maximum data memory length. May represent either bits or words (depends on the memory type selected in next parameter). If the length of data returned by the device exceeds this length, the Bus Controller writes as much data as possible to the PLC CPU and returns a data error to the COMMREQ status location. If the same COMMREQ will be used to read configuration data from more than one type of block (for example, in a subroutine), be sure to allow enough length to accommodate the largest amount of data that might be returned.
#END#

Memory_Type
Memory type of the location where the Bus Controller will place the data in the CPU.
#END#

Memory_Offset
Starting address within this memory type.
#END#

Config_data_Length_In_Bytes
Length of configuration data in bytes. Up to 248 bytes (128 words) of configuration data
#END#

Configuration_Data
Enter Configuration data in particular formats
#END#

Max_Data_Memory_Length_D
Maximum data memory length, in bits or words (depends on the memory type selected below). This entry tells the CPU how much memory will be needed to store the data returned by the block. The number of bits or words needed depends on the number of circuits on the block, and the block type. 
(For a PowerTRAC Block, status information is automatically provided as input data. If the data returned by the designated device exceeds this length, the Bus Controller will write as much as possible to the PLC CPU and return a data error to the COMREQ status location.
#END#

Memory_Type_Rd
Enter the memory type
#END#

Memory_Offset_Rd
Enter the memory Offset
#END#

Circuit_Number
This is the relative number of the circuit, not its reference number. The first circuit on the block is considered to be number 1. For example, to clear faults on circuit 5, you would enter 5 here. For a 4 Input/2 Output analog block, circuit numbers 1 to 4 are for inputs, 5 and 6 are for outputs.
#END#

Device_Number_Send
Device Number of the block(s) that should send extra fault reports
#END#

Device_Number_Receive
Device Number of the bus interface module that will RECEIVE the extra fault reports. 0-31 To send this command to one block. To send this command to ALL blocks, select the number 255. If only some blocks should report to the faults to the assigned monitor (for example, to minimize bus scan time), program separate Assign Monitor commands to each.
#END#

Desired_Bus_Position
Select a Bus
#END#

Mem_Type_To_Be_Used
Specify the target memory type when sending a Read Device datagram. Bit-oriented memories (%I and %Q) can be accessed either on byte boundaries (byte mode) or as a string of bits (bit mode). Bit mode is used to access a single point within a discrete memory, or a collection of points within a discrete memory, which need not start, or end on a byte boundary. Byte mode is used to access one or more groups of 8 contiguous points within a discrete memory, and must start on a byte boundary.
#END#

Mem_Off_To_Be_Used
Enter a numerical offset within this memory type, for the beginning of the data. Memory offsets start at 0; thus %R1 and %I1 are both accessed using a Memory Offset of 0.
Example A: For 3 bits starting at %I0014, you would enter the offset 13, and a data length of 3 bits. Example B: To write data to a Series 90-70 PLC beginning at %R100, you would enter the Memory Type as %R (8 decimal) and the Memory Offset 99 (decimal). 

In byte mode, the Message Offset reflects the byte being read or written. Offset 0 corresponds to bits 1-8, offset 1 to bits 9-16, and so on. In bit mode, the Message Offset reflects the bit being read or written, offset 0 corresponds to bit 1, offset 1 to bit 2, and so on. In bit mode, one or more bytes of data are read or written, even though some of the bits within the bytes might be ignored. The bit or bits will be in the correct offset position within the byte. For example, if three bits starting a %I0020 are requested, they will appear in the middle of the returned data byte.
#END#

Prog_Name
Required to read %P or %L memory in another Series 90-70 PLC. If the target of the command is NOT another Series 90-70 PLC, this is ignored; they may contain any value. Program names are limited to 7 characters. Character 8 and all other trailing characters MUST be entered as nulls.
#END#

Block_Name
Required to read %L memory in another Series 90-70 PLC. If the target of the command is NOT another Series 90-70 PLC, this is ignored; they may contain any value. Program names are limited to 7 characters. Character 8 and all other trailing characters MUST be entered as nulls.
#END#

Data_Length_R
Reading/Writing a Series 90-70 PLC, data length is in bits or words, depending on the memory type being read/write. For other types of devices, the length is given as expected by the device. The maximum length is equal to 128 bytes.
#END#

Max_Memory_Length
Maximum memory length needed for the returned data. Value in bits or words (depends on memory type selected).
#END#

Mem_Type_To_Receive_Data
Memory Type to place data
#END#

Mem_Off_To_Receive_Data
Memory location to place data. This is also a zero based offset i.e. a value of 0 indicates the first memory location of the specified type.
#END#

Data_To_Be_Written
Enter your data to be written.	
#END#

Maximum_Data_Memory_Length
Enter bit or word value (depends on the memory type selected below). This entry tells the CPU how much memory will be needed to store all the data. If the length of data returned by the device exceeds this length, the Bus Controller writes as much data as possible to the PLC CPU and returns a data error to the COMREQ status location.
#END#

Memory_Offset
Memory Offset
#END#

Function_Code
Select a function code or select 255 decimal to match any function code.
#END#

Sub_Function_Code
Select a subfunction, or select "Match_Any_SubFx_Code" to match any subfunction code.
#END#

Device_No_Sender
Enter 0 - 31, or 255 decimal to match any Device Number.
#END#

Device_Number_B
Enter 0 - 31, or 255 decimal to broadcast the message.
#END#

Sub_Function	
Select the sub function
#END#

Priority	
A Bus Controller can send one datagram per bus scan. Therefore, during one bus scan, there may be one normal priority datagram followed by up to 31 high priority datagrams, or up to 32 high priority datagrams sent by the devices on the bus. In one bus scan (one complete rotation of the bus token among all devices on the bus), there can be just one normal priority datagram sent by any device. If a normal priority datagram or similar system message (such as a fault report) has already been sent by any device (including itself), a device must wait until its next turn on the bus before it can send a normal priority datagram.
#END#

Datagram_Length	
Enter the actual length of the Datagram
#END#

Datagram_Content	
Enter the entire datagram. If Send Datagram command is used to broadcast a Write Device datagram, and another Series 90-30 GBC should IGNORE that datagram, set first byte of the datagram (this byte is normally 0), to FE hex.
#END#

Sub_Function_Of_DG_To_Send	
Select the sub function of Datagram to be send
#END#

Datagram_Length_15
Enter the actual length of the Datagram
#END#

Sub_Function_For_Reply	
Select the sub function of Reply
#END#

Memory_Type_For_Reply	
Enter the memory type 
#END#

Memory_Offset_For_Reply
Starting address within this memory type.
#END#

Maximum_Data_Memory_Length_DG	
Enter a value in bits or words, depending on the memory type selected. This entry tells the CPU how much memory will be needed to store all the reply data. The length depends on the message and device type. If the length of the memory is smaller than the amount of reply data received, the extra portion of the data will be lost, and a data error (16) will be returned to the status location.
#END#

Datagram_Content_DG
Enter the entire datagram.
#END#

Fault_Category
Select I/O Fault Category to be enabled or disabled. Select from All I/O fault categories enabled, All I/O fault categories disabled and Addition/Loss of Block fault categories disabled.
#END#

Fault_Category_Dependent
Must be 0 0 0 0 if Fault_Category selected is "All I/O fault categories enabled." or "Addition/Loss of Block fault categories disabled".
Must be:F F F F if Fault_Category selected is "All I/O fault categories disabled".
#END#
